package almacenes.modelo.service;



import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;


import almacenes.modelo.dto.GuiaAsignadaDto;
import almacenes.modelo.dto.GuiaNoConformeDto;
import almacenes.modelo.dto.RespuestaDto;
import almacenes.modelo.entidad.GuiaRemision;
import almacenes.modelo.entidad.ParametroDet;
import almacenes.modelo.excepcion.ExcepcionGeneral;

public interface LoteGuiaService{
	public List<GuiaAsignadaDto> buscarGuiasAsignadas(byte iIdTipoProveedor,
			short iIdProveedor, byte iIdEstadoLote, String sSerieGuia,
			String sNumGuia, Date dtFecRegIni, Date dtFecRegFin)
			throws ExcepcionGeneral;

	public List<GuiaNoConformeDto> buscarGuiasNoConformes(long idLoteGuia)
			throws ExcepcionGeneral;

	public RespuestaDto guardarLote(short iIdProveedor, 
			String sSerieGuia, int iNumGuiaIni, int iNumGuiaFin, String sUsuReg) throws ExcepcionGeneral;
	
	public List<ParametroDet> obtenerEstadosDelLote() throws ExcepcionGeneral;
	
	public List<ParametroDet> obtenerEstadosTipRegGuiaNoConforme() throws ExcepcionGeneral;
	
	public RespuestaDto editarGuiasANoConformes(long iIdLoteGuia,
			 String sSerieGuia, int iNumGuiaIni,
			int iNumGuiaFin,String sObservacion,  String sUsuAct) throws ExcepcionGeneral;
	
	public RespuestaDto regularizarGuias(List<GuiaRemision> lstGuiaRemision,String sObservacionRegularizar,String sUsuAct) throws HibernateException ;
}
